package com.zlp.mall.upms.service;

import com.zlp.mall.core.utils.api.Pager;
import com.zlp.mall.upms.dto.req.UserCreateReq;
import com.zlp.mall.upms.dto.resp.UserQueryReq;
import com.zlp.mall.upms.dto.resp.UserResp;
import com.zlp.mall.upms.dto.CacheInfo;
import com.zlp.mall.upms.dto.req.LoginUserReq;
import com.zlp.mall.upms.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author Zou.LiPing
 * @since 2021-04-03
 */
public interface UserService extends IService<User> {

    /**
     * 登录
     * @param loginReq
     * @date: 2021/4/6 9:35
     * @return: CacheInfo
     */
    CacheInfo login(LoginUserReq loginReq);

    /**
     * 获取用户列表
     * @param userQueryReq
     * @date: 2021/4/6 9:35
     * @return: java.lang.Object
     */
    Pager<UserResp> getUserPage(UserQueryReq userQueryReq);


    /**
     * 获取用户信息
     * @param userId
     * @date: 2021/4/6 9:36
     * @return: java.lang.Object
     */
    UserResp getUserInfo(Long userId);

    /**
     * 添加用户
     * @param userCreateReq
     * @date: 2021/4/6 10:28
     * @return: java.lang.Object
     */
    Boolean addUser(UserCreateReq userCreateReq);
}
